home *** CD-ROM | disk | FTP | other *** search
- NOCASE
-
- MAKE ".GRAPHICS (.HWND "Graphics) ; handle for the turtle window
- MAKE ".LISTENER (.HWND "Listener) ; handle for the Listener window
-
- ; set the title bar of the Graphics window
-
- TO SET.TITLE :TEXT
- IGNORE (.WINDOWS "SetWindowText :.GRAPHICS :TEXT)
- END
-
- ; Perform a beep
-
- TO BEEP
- IGNORE (.WINDOWS "MessageBeep 0)
- END
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- ; Message boxes
-
- CONST "MB_OK #h0000
- CONST "MB_OKCANCEL #h0001
- CONST "MB_ABORTRETRYIGNORE #h0002
- CONST "MB_YESNOCANCEL #h0003
- CONST "MB_YESNO #h0004
- CONST "MB_RETRYCANCEL #h0005
-
- CONST "MB_ICONHAND #h0010
- CONST "MB_ICONQUESTION #h0020
- CONST "MB_ICONEXCLAMATION #h0030
- CONST "MB_ICONASTERISK #h0040
-
- CONST "IDOK 1
- CONST "IDCANCEL 2
- CONST "IDABORT 3
- CONST "IDRETRY 4
- CONST "IDIGNORE 5
- CONST "IDYES 6
- CONST "IDNO 7
-
- ; simple message box
-
- TO MESSAGE :TEXT
- IGNORE (.WINDOWS "MessageBox .HWND :TEXT "|PC Logo| MB_ICONASTERISK)
- END
-
- ; reply box
- ; will output TRUE or FALSE
-
- TO REPLY :TEXT
- OUTPUT (.WINDOWS "MessageBox .HWND :TEXT "|PC Logo| \
- MB_ICONQUESTION + MB_YESNO) = IDYES
- END
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- ; compute the size of a text in units of the given window
- ; note: this works only for WORDS!
-
- TO TEXTSIZE :HWND :TEXT
- (LOCAL "DC "N)
- IF NOT WORD? :TEXT THEN OUTPUT []
- MAKE "DC .GETDC :HWND
- IF :DC = 0 THEN OUTPUT []
- MAKE "N (.WINDOWSL "GetTextExtent :DC :TEXT COUNT :TEXT)
- .FREEDC :HWND
- OUTPUT LIST (LOGAND :N #HFFFF) (LSH :N 16)
- END
-
- CASE
-